<html>
<head><meta charset="utf-8"><title>Rust creduce for crate-graphs · t-compiler · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/index.html">t-compiler</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Rust.20creduce.20for.20crate-graphs.html">Rust creduce for crate-graphs</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="221297565"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Rust%20creduce%20for%20crate-graphs/near/221297565" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Rust.20creduce.20for.20crate-graphs.html#221297565">(Dec 31 2020 at 15:46)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116083">pnkfelix</span> <a href="#narrow/stream/238009-t-compiler.2Fmeetings/topic/.5Bweekly.20meeting.5D.202020-12-31.20.2354818/near/221297469">said</a>:</p>
<blockquote>
<p>I've been wondering if I should start a project group to make a creduce specific to rust</p>
</blockquote>
<p>there's something like it <a href="https://github.com/jethrogb/rust-reduce/">https://github.com/jethrogb/rust-reduce/</a></p>



<a name="221297583"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Rust%20creduce%20for%20crate-graphs/near/221297583" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Rust.20creduce.20for.20crate-graphs.html#221297583">(Dec 31 2020 at 15:47)</a>:</h4>
<p>fresh topic to discuss automatic creation of MCVE's</p>



<a name="221297590"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Rust%20creduce%20for%20crate-graphs/near/221297590" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Rust.20creduce.20for.20crate-graphs.html#221297590">(Dec 31 2020 at 15:47)</a>:</h4>
<p>I made a zulip topic specifically for this: <a href="#narrow/stream/131828-t-compiler/topic/Rust.20creduce.20for.20crate-graphs/near/221297583">https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/Rust.20creduce.20for.20crate-graphs/near/221297583</a></p>



<a name="221297591"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Rust%20creduce%20for%20crate-graphs/near/221297591" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Rust.20creduce.20for.20crate-graphs.html#221297591">(Dec 31 2020 at 15:47)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116083">pnkfelix</span> <a href="#narrow/stream/238009-t-compiler.2Fmeetings/topic/.5Bweekly.20meeting.5D.202020-12-31.20.2354818/near/221297561">said</a>:</p>
<blockquote>
<p><span class="user-mention silent" data-user-id="116122">simulacrum</span> yeah okay lets you and me (and anyone else) circle back to this idea.</p>
</blockquote>
<p>open a topic to discuss, I'm also interested</p>



<a name="221297602"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Rust%20creduce%20for%20crate-graphs/near/221297602" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Rust.20creduce.20for.20crate-graphs.html#221297602">(Dec 31 2020 at 15:47)</a>:</h4>
<p><span aria-label="wave" class="emoji emoji-1f44b" role="img" title="wave">:wave:</span></p>



<a name="221297658"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Rust%20creduce%20for%20crate-graphs/near/221297658" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Notification Bot <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Rust.20creduce.20for.20crate-graphs.html#221297658">(Dec 31 2020 at 15:48)</a>:</h4>
<p>This topic was moved here from <a class="stream-topic" data-stream-id="238009" href="/#narrow/stream/238009-t-compiler.2Fmeetings/topic/.5Bweekly.20meeting.5D.202020-12-31.20.2354818">#t-compiler/meetings &gt; [weekly meeting] 2020-12-31 #54818</a> by <span class="user-mention silent" data-user-id="116083">pnkfelix</span></p>



<a name="221297701"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Rust%20creduce%20for%20crate-graphs/near/221297701" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Rust.20creduce.20for.20crate-graphs.html#221297701">(Dec 31 2020 at 15:48)</a>:</h4>
<p>I have also seen <a href="https://github.com/perses-project/perses">https://github.com/perses-project/perses</a> being used in <a href="https://github.com/rust-lang/rust/issues/67684#issuecomment-747189906">https://github.com/rust-lang/rust/issues/67684#issuecomment-747189906</a></p>



<a name="221297709"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Rust%20creduce%20for%20crate-graphs/near/221297709" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Rust.20creduce.20for.20crate-graphs.html#221297709">(Dec 31 2020 at 15:49)</a>:</h4>
<p>haven't looked into it at all, but sounds like it's being actively used?</p>



<a name="221297734"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Rust%20creduce%20for%20crate-graphs/near/221297734" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Stu <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Rust.20creduce.20for.20crate-graphs.html#221297734">(Dec 31 2020 at 15:49)</a>:</h4>
<p><span class="user-mention silent" data-user-id="124288">oli</span> <a href="#narrow/stream/131828-t-compiler/topic/Rust.20creduce.20for.20crate-graphs/near/221297709">said</a>:</p>
<blockquote>
<p>haven't looked into it at all, but sounds like it's being actively used?</p>
</blockquote>
<p>yes there are multiple issues whose code was reduced using it.</p>
<p>Here are some of them: <a href="https://github.com/rust-lang/rust/issues/created_by/chengniansun">https://github.com/rust-lang/rust/issues/created_by/chengniansun</a></p>



<a name="221299450"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Rust%20creduce%20for%20crate-graphs/near/221299450" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Rust.20creduce.20for.20crate-graphs.html#221299450">(Dec 31 2020 at 16:14)</a>:</h4>
<p>FWIW, what I was going to bring up is that I plan to do a research project (under the auspices of my college), and am still in the process of narrowing down the exact topic, but currently some kind of automated triage and mcve from bug reports or crater results is the goal. It's somewhat unclear the extent to which this can be an advancement on what creduce or similar tooling provides, though, so scope may change.</p>



<a name="221302189"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Rust%20creduce%20for%20crate-graphs/near/221302189" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Rust.20creduce.20for.20crate-graphs.html#221302189">(Dec 31 2020 at 16:55)</a>:</h4>
<p><span class="user-mention silent" data-user-id="124288">oli</span> <a href="#narrow/stream/131828-t-compiler/topic/Rust.20creduce.20for.20crate-graphs/near/221297701">said</a>:</p>
<blockquote>
<p>I have also seen <a href="https://github.com/perses-project/perses">https://github.com/perses-project/perses</a> being used in <a href="https://github.com/rust-lang/rust/issues/67684#issuecomment-747189906">https://github.com/rust-lang/rust/issues/67684#issuecomment-747189906</a></p>
</blockquote>
<p>Hmm, i wonder if this can handle multiple crates. That is at least the main reason why I haven't invested too much effort in <a href="https://github.com/jethrogb/rust-reduce/">https://github.com/jethrogb/rust-reduce/</a></p>



<a name="221326076"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Rust%20creduce%20for%20crate-graphs/near/221326076" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Rust.20creduce.20for.20crate-graphs.html#221326076">(Jan 01 2021 at 00:12)</a>:</h4>
<p>I'd be very interested in something like this. The biggest challenge is when multiple crates and/or source files are involved.</p>



<a name="221326090"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Rust%20creduce%20for%20crate-graphs/near/221326090" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Rust.20creduce.20for.20crate-graphs.html#221326090">(Jan 01 2021 at 00:12)</a>:</h4>
<p>Even something that combined multiple crates into one would be useful in a lot of cases</p>



<a name="221326109"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Rust%20creduce%20for%20crate-graphs/near/221326109" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Rust.20creduce.20for.20crate-graphs.html#221326109">(Jan 01 2021 at 00:13)</a>:</h4>
<p>Once everything is in a file, I think creduce can be useful in theory, but I've never actually gotten to that point</p>



<a name="221326179"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Rust%20creduce%20for%20crate-graphs/near/221326179" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Rust.20creduce.20for.20crate-graphs.html#221326179">(Jan 01 2021 at 00:14)</a>:</h4>
<p>also fyi, rust-reduce is AGPL which means no one at google is allowed to use it</p>



<a name="221326212"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Rust%20creduce%20for%20crate-graphs/near/221326212" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Rust.20creduce.20for.20crate-graphs.html#221326212">(Jan 01 2021 at 00:15)</a>:</h4>
<p>Note that in some cases, the bug can only be reproduced in a separate crate</p>



<a name="221326217"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Rust%20creduce%20for%20crate-graphs/near/221326217" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Rust.20creduce.20for.20crate-graphs.html#221326217">(Jan 01 2021 at 00:15)</a>:</h4>
<p>(especially for rustdoc)</p>



<a name="221326313"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Rust%20creduce%20for%20crate-graphs/near/221326313" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Rust.20creduce.20for.20crate-graphs.html#221326313">(Jan 01 2021 at 00:17)</a>:</h4>
<p>yeah, that's why I said in a lot of cases. my thinking is that a combiner would be 10-100x easier to write than a multi-crate minimizer</p>



<a name="221345999"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Rust%20creduce%20for%20crate-graphs/near/221345999" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Rust.20creduce.20for.20crate-graphs.html#221345999">(Jan 01 2021 at 10:24)</a>:</h4>
<p>FWIW it's not impossible to handle multiple crates with rust-reduce, it's "just" tedious. I'd be pleasantly surprised if perses supports it (the one time I've tried perses real quickly, I didn't succeed and it happily removed all of the code ^^ so I just returned to old and slow trusty rust-reduce -- I'd need to try Perses for real to better compare)</p>



<a name="221375685"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Rust%20creduce%20for%20crate-graphs/near/221375685" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mati865 <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Rust.20creduce.20for.20crate-graphs.html#221375685">(Jan 02 2021 at 00:05)</a>:</h4>
<p>Before <code>rust-reduce</code> was born I have been using <code>cargo-expand</code> to obtain single source file and the reduced it through C-Reduce. It greatly helped me with few projects even though it was painfully slow.<br>
IMO there will be huge benefit by having such tool polished, even with simple combiner approach.</p>



<a name="221376508"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Rust%20creduce%20for%20crate-graphs/near/221376508" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Rust.20creduce.20for.20crate-graphs.html#221376508">(Jan 02 2021 at 00:32)</a>:</h4>
<p>has anyone successfully ran perses ? I'm not even sure it supports multiple files ? the easiest way would probably to be to add a combiner to rust-reduce then ?</p>



<a name="221557372"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Rust%20creduce%20for%20crate-graphs/near/221557372" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Rust.20creduce.20for.20crate-graphs.html#221557372">(Jan 04 2021 at 17:57)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116883">tmandry</span> <a href="#narrow/stream/131828-t-compiler/topic/Rust.20creduce.20for.20crate-graphs/near/221326313">said</a>:</p>
<blockquote>
<p>yeah, that's why I said in a lot of cases. my thinking is that a combiner would be 10-100x easier to write than a multi-crate minimizer</p>
</blockquote>
<p>A combiner poses its own complications, though, since there are some semantic rules that are sensitive to the crate boundaries</p>



<a name="221557567"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Rust%20creduce%20for%20crate-graphs/near/221557567" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Rust.20creduce.20for.20crate-graphs.html#221557567">(Jan 04 2021 at 17:58)</a>:</h4>
<p>Having said that, maybe for the use case in question it might work "well enough" in enough cases for that to be the first thing to develop</p>



<a name="221559534"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Rust%20creduce%20for%20crate-graphs/near/221559534" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Rust.20creduce.20for.20crate-graphs.html#221559534">(Jan 04 2021 at 18:14)</a>:</h4>
<p>combining could be one of the reducing tool’s transforms. that is, if it violated one of the rules that are sensitive to crate boundaries, the problem would not reproduce and the tool would not accept the transform as a valid reduction</p>



<a name="221560417"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Rust%20creduce%20for%20crate-graphs/near/221560417" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Rust.20creduce.20for.20crate-graphs.html#221560417">(Jan 04 2021 at 18:21)</a>:</h4>
<p>good point. And actually, that step, with its potential for isolating behavioral changes, would motivate an <em>incremental</em> combining system that e.g. only incorporated a crate at a time, or something. I was imagining something more monolithic, but there's not much value in that compared to iterated incremental incorporation, I think.</p>



<a name="221560604"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Rust%20creduce%20for%20crate-graphs/near/221560604" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Rust.20creduce.20for.20crate-graphs.html#221560604">(Jan 04 2021 at 18:22)</a>:</h4>
<p>(On the other hand, I do think the cases where separate crates are fundamental to reproducing the problem are important enough that I would still like to investigate multi-crate processing. But I definitely understand the complexities there.)</p>



<a name="221560823"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Rust%20creduce%20for%20crate-graphs/near/221560823" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Rust.20creduce.20for.20crate-graphs.html#221560823">(Jan 04 2021 at 18:24)</a>:</h4>
<p>right</p>



<a name="221561083"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Rust%20creduce%20for%20crate-graphs/near/221561083" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Rust.20creduce.20for.20crate-graphs.html#221561083">(Jan 04 2021 at 18:26)</a>:</h4>
<p>the most common downside to the incremental approach IME is it’s easier for the whole process to become slow, if it’s naively testing whether each step reproduces the problem (and/or the testing itself is slow, eg when a full build is required, or worse running the resulting program)</p>



<a name="221561368"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Rust%20creduce%20for%20crate-graphs/near/221561368" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Rust.20creduce.20for.20crate-graphs.html#221561368">(Jan 04 2021 at 18:28)</a>:</h4>
<p>(but that’s not solely related to incremental combining of crates of course :)</p>



<a name="221562115"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Rust%20creduce%20for%20crate-graphs/near/221562115" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Rust.20creduce.20for.20crate-graphs.html#221562115">(Jan 04 2021 at 18:34)</a>:</h4>
<p>yes. and one can imagine simple ways to address that, that generalize beyond this particular transformation. E.g. just run many steps and then bisect the steps themselves if a problem arises.</p>



<a name="221562161"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Rust%20creduce%20for%20crate-graphs/near/221562161" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Rust.20creduce.20for.20crate-graphs.html#221562161">(Jan 04 2021 at 18:34)</a>:</h4>
<p>(to which I expect you were alluding when you included the word "naively")</p>



<a name="221562173"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Rust%20creduce%20for%20crate-graphs/near/221562173" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Rust.20creduce.20for.20crate-graphs.html#221562173">(Jan 04 2021 at 18:34)</a>:</h4>
<p>exactly</p>



<a name="235635344"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Rust%20creduce%20for%20crate-graphs/near/235635344" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Hameer Abbasi <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Rust.20creduce.20for.20crate-graphs.html#235635344">(Apr 22 2021 at 07:56)</a>:</h4>
<p>Hello, I've seen that lately people are reporting more and more bugs that involve crates, and this becomes more necessary. I've seen GitHub username SNCPlay42 performing some awesome reductions, was hoping he'd write up his method on doing so.</p>



<a name="235635537"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Rust%20creduce%20for%20crate-graphs/near/235635537" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Hameer Abbasi <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Rust.20creduce.20for.20crate-graphs.html#235635537">(Apr 22 2021 at 07:58)</a>:</h4>
<p>I recently tried bisecting one of these, and ran into a couple of roadblocks.</p>



<a name="235635592"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Rust%20creduce%20for%20crate-graphs/near/235635592" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Laurențiu <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Rust.20creduce.20for.20crate-graphs.html#235635592">(Apr 22 2021 at 07:58)</a>:</h4>
<p><a href="http://blog.pnkfx.org/blog/2019/11/18/rust-bug-minimization-patterns/">http://blog.pnkfx.org/blog/2019/11/18/rust-bug-minimization-patterns/</a> is a good read</p>



<a name="235637929"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/Rust%20creduce%20for%20crate-graphs/near/235637929" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Hameer Abbasi <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/Rust.20creduce.20for.20crate-graphs.html#235637929">(Apr 22 2021 at 08:19)</a>:</h4>
<p>I'm lazy, so I was looking for an automated solution. But it's a nice read either way. :D</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>